﻿#define _CRT_SECURE_NO_WARNINGS 1

//#include <stdio.h>
//
//int main()
//{
//	FILE* pt = fopen("pro_1.txt", "wb");
//	if (pt == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	int arr[10] = { 1,3,4,5,2,9,10,8,7,6 };
//	fwrite(arr, sizeof(int), sizeof(arr) / sizeof(arr[0]), pt);
//
//	fclose(pt);
//	pt = NULL;
//
//	return 0;
//}


//#include <stdio.h>
//
//int main()
//{
//	const char s[] = "I am not a pig";
//	char s1[10], s2[10], s3[10], s4[10],s5[10];
//	int a  = sscanf(s, "%s %s %s %s %s", s1, s2, s3, s4,s5);
//	printf("%s %s %s %s\n%d", s1, s2, s4, s5,a);
//
//	return 0;
//}


//#include <stdio.h>
//
//int main()
//{
//	char s[100];
//	sprintf(s, "%s", "I am not a pig");
//	puts(s);
//
//	return 0;
//}


//#include <stdio.h>
//
//int main()
//{
//	FILE* pt = fopen("pro_1.txt", "r");
//	if (pt == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	char c = fgetc(pt);
//	printf("%c\n", c);
//	c = fgetc(pt);
//	printf("%c\n", c);
//	c = fgetc(pt);
//	printf("%c\n", c);
//	if (fseek(pt, -1, SEEK_CUR))//在定位之前，指向的是d，在此位置-1向前偏移一位指向c
//	{
//		printf("定位失败\n");
//		return 1;
//	}
//	c = fgetc(pt);
//	printf("%c\n", c);
//	if (fseek(pt, -1, SEEK_END))//在末尾位置-1向前偏移一位指向z
//	{
//		printf("定位失败\n");
//		return 1;
//	}
//	c = fgetc(pt);
//	printf("%c\n", c);
//	if (fseek(pt, 25, SEEK_SET))//在文件开头25向后偏移25位指向z
//	{
//		printf("定位失败\n");
//		return 1;
//	}
//	c = fgetc(pt);
//	printf("%c\n", c);
//	if (fseek(pt, 0, SEEK_SET))//文件开头位置偏移0位
//	{
//		printf("定位失败\n");
//		return 1;
//	}
//	c = fgetc(pt);
//	printf("%c\n", c);
//
//	fclose(pt);
//	pt = NULL;
//
//	return 0;
//}


//#include <stdio.h>
//
//int main()
//{
//	FILE* pt = fopen("pro_1.txt", "r");
//	if (pt == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	fgetc(pt);
//	fgetc(pt);
//	fgetc(pt);
//	fgetc(pt);
//	if (fseek(pt, 4, SEEK_CUR))
//	{
//		perror("fseek");
//		return 1;
//	}
//	long int a = ftell(pt);
//	printf("%ld\n", a);//4+4=8
//
//	fclose(pt);
//	pt = NULL;
//
//	return 0;
//}


//#include <stdio.h>
//
//int main() 
//{
//	FILE* file = fopen("pro_1.txt", "r"); 
//	if (file == NULL) 
//	{ 
//		perror("fopen"); 
//		return 1;
//	}
//
//	//fseek(file, 0, SEEK_END); 
//	long fileSize = ftell(file); 
//	printf("File size: %ld bytes\n", fileSize);
//
//	fclose(file);
//	file = NULL;
//
//	return 0;
//}


//#include <stdio.h>
//
//int main()
//{
//	FILE* pt = fopen("pro_1.txt", "r");
//	if (pt == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	if (fseek(pt, 25, SEEK_SET))
//	{
//		perror("fseek");
//	}
//	printf("%ld\n", ftell(pt));
//	rewind(pt);
//	printf("%ld\n", ftell(pt));
//	fclose(pt);
//	pt = NULL;
//
//	return 0;
//}


//#include <stdio.h>
//
//int main() {
//    FILE* fp;
//    char buffer[100];
//
//    fp = fopen("pro_1.txt", "r");
//    if (fp == NULL) {
//        printf("Failed to open file\n");
//        return 1;
//    }
//
//    while (fgets(buffer, 100, fp) != NULL) {
//        printf("%s\n", buffer);
//    }
//
//    printf("%s", buffer);
//    fclose(fp);
//    fp = NULL;
//    return 0;
//}


//#include <stdio.h>
//
//int main()
//{
//	int a;
//	double b;
//	scanf("%lf", &b);
//	a = (int)b;
//	if ((b - a) >= 0.5)
//	{
//		a += 1;
//		printf("%d\n", a);
//	}
//	else
//	{
//		printf("%d\n", a);
//	}
//
//	return 0;
//}

////文本文件
//
//#include <stdio.h>
//
//int main()
//{
//	FILE* pt = fopen("1.txt", "r");
//	if (pt == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	int a;
//	while ((a = fgetc(pt)) != EOF)
//	{
//		printf("%c", a);
//	}
//	printf("\n");
//	if (feof(pt))
//	{
//		printf("读到了文件末尾\n");
//	}
//	else if (ferror(pt))
//	{
//		printf("读取错误\n");
//	}
//
//	fclose(pt);
//	pt = NULL;
//
//	return 0;
//}

//
////二进制文件
//
//#include <stdio.h>
//#include <string.h>
//
//int main()
//{
//	FILE* pt = fopen("2.txt", "wb");
//	if (pt == NULL)
//	{
//		perror("fopen_wb");
//		return 1;
//	}
//	const char s[100] = "Hello World";
//	fwrite(s, sizeof(s[0]), strlen(s), pt);
//	fclose(pt);
//
//	pt = fopen("2.txt", "rb");
//	if (pt == NULL)
//	{
//		perror("fopen_rb");
//		return 1;
//	}
//	char s1[100];
//	size_t count = fread(s1, sizeof(s[0]), strlen(s), pt);
//	s1[strlen(s)] = '\0';
//	
//	if (count == strlen(s))
//	{
//		printf("读取结束，并且全部读取：%s",s1);
//	}
//	else
//	{
//		if (feof(pt))
//		{
//			printf("读取到文件末尾\n");
//		}
//		else if (ferror(pt))
//		{
//			printf("读取错误\n");
//		}
//	}
//
//	fclose(pt);
//	pt = NULL;
//
//	return 0;
//}


//#include <stdio.h>
//enum { SIZE = 5 };
//int main(void)
//{
//	double a[SIZE] = { 1.,2.,3.,4.,5. };
//	FILE* fp = fopen("test.bin", "wb"); // 必须⽤⼆进制模式
//	fwrite(a, sizeof * a, SIZE, fp); // 写 double 的数组
//	fclose(fp);
//	double b[SIZE];
//	fp = fopen("test.bin", "rb");
//	size_t ret_code = fread(b, sizeof * b, SIZE, fp); // 读 double 的数组
//	if (ret_code == SIZE) {
//		puts("Array read successfully, contents: ");
//		for (int n = 0; n < SIZE; ++n) printf("%f ", b[n]);
//		putchar('\n');
//	}
//	else { // error handling
//		if (feof(fp))
//			printf("Error reading test.bin: unexpected end of file\n");
//		else if (ferror(fp)) {
//			perror("Error reading test.bin");
//		}
//	}
//	fclose(fp);
//}


//#include <stdio.h>
//#include <stdlib.h>
//
//int main()
//{
//	int a = 65;
//	char* ptr = (char*)malloc(sizeof(char) * 26);
//	if (ptr == NULL)
//	{
//		perror("malloc");
//		return 1;
//	}
//	for (int i = 0; i < 26; i++)
//	{
//		*(ptr + i) = a++;
//	}
//	for (int i = 0; i < 26; i++)
//	{
//		printf("%c ", *(ptr + i));
//	}
//	putchar('\n');
//	char* p = (char*)realloc(ptr, sizeof(char) * (13));
//	if (p = NULL)
//	{
//		perror("realloc");
//		return 1;
//	}
//	for (int i = 0; i < 13; i++)
//	{
//		printf("%c ", *(p + i));
//	}
//
//	ptr = NULL;
//	free(p);
//	p = NULL;
//
//	return 0;
//}


//#include <stdio.h>
//#include <stdlib.h>
//
//int main() 
//{
//    int* ptr, i;
//    ptr = (int*)malloc(5 * sizeof(int)); // 分配5个整型的内存空间
//    if (ptr == NULL) 
//    {
//        printf("Memory not allocated.\n");
//        exit(0);
//    }
//    for (i = 0; i < 5; i++) 
//    {
//        *(ptr + i) = i; // 给每个元素赋值
//    }
//    printf("Original memory block:\n");
//    for (i = 0; i < 5; i++) 
//    {
//        printf("%d ", *(ptr + i)); // 输出每个元素的值
//    }
//    ptr = realloc(ptr, 2 * sizeof(int)); // 缩小内存块到2个整型的大小
//    printf("\nMemory block after shrinking:\n");
//    for (i = 0; i < 2; i++) 
//    {
//        printf("%d ", *(ptr + i)); // 输出每个元素的值
//    }
//    free(ptr); // 释放内存
//    return 0;
//}


#include <stdio.h>

int main()
{
	printf("%d ", 0xAB);
	return 0;
}